// 全局方法正则的封装
var rulesList = [{
		id: "text",
		rules: [],
		form: {
			max: 20, // 最大输入长度
			disabled: false, //是否禁用
			type: "text", //input 的类型
			value: "", //// 输入框初始内容
			placeholder: "请输入", // 输入框默认输入内容
			isclear: true, //是否显示清空按钮
			password: false, //是否是密码类型
			formtype: "input", //表单类型
			rules: true, //是否必填
		}
	},
	{
		id: "dict",
		rules: [],
		form: {
			max: 20, // 最大输入长度
			disabled: false, //是否禁用
			type: "radio", //字典的类型
			value: "", //// 输入框初始内容
			placeholder: "请选择", // 输入框默认输入内容
			formtype: "dict", //表单类型
			rules: true, //是否必填
		}
	},
	{
		id: "textarea",
		rules: [],
		form: {
			// max: 200, // 最大输入长度
			disabled: false, //是否禁用
			wordage: true, //是否显示字数统计
			placeholder: "请输入", // 输入框默认输入内容
			isclear: true, //是否显示清空按钮
			formtype: "textarea", //表单类型
			rules: true, //是否必填
			value: "", //// 输入框初始内容
		}
	},
	{
		id: "slot",
		rules: [],
		form: {
			disabled: false, //是否禁用
			placeholder: "请选择", // 输入框默认输入内容
			formtype: "slot", //表单类型
			rules: true, //是否必填
			value: "", //// 输入框初始内容
		}
	},
	{
		id: "upload",
		rules: [],
		form: {
			value: "", //// 输入框初始内容
			disabled: false, //是否禁用
			placeholder: "请选择", // 输入框默认输入内容
			iscutoff: true, //是否显示清空按钮
			ispreview: true, //是否开启预览功能
			formtype: "upload", //表单类型
			rules: true, //是否必填
			count: 1, // 最多可以选择的图片张数，默认1
			sourceType: ['album', 'camera'], // album 从相册选图，camera 使用相机默认二者都有
			isdownload: false, //是否显示下功能，默认不显示
			fuploadtype: "img", // 上次文件类型，默认照片

		},
	},
	{
		id: "button",
		form: {
			border: true, //是否是圆角按钮
			icon: "", //设置按钮的图标类型
			ghost: false, //是否是幽灵按钮
			disabled: false, //是否禁用
			type: "primary", //按钮类型
			formtype: "button", //表单类型
		}
	},
	{
		id: "phone",
		rules: [{
			msg: "请输入正确格式的手机号",
			test: /^1[3-9]\d{9}$/,
		}],
		form: {
			max: 11, // 最大输入长度
			disabled: false, //是否禁用
			type: "tel", //input 的类型
			value: "", //// 输入框初始内容
			placeholder: "请输入手机号", // 输入框默认输入内容
			isclear: true, //是否显示清空按钮
			password: false, //是否是密码类型
			formtype: "input", //表单类型
			rules: true, //是否必填
		}
	},
	{
		id: "verifCode",
		rules: [{
			msg: "请输入正确格式的验证码",
			test: /^[0-9]\d{5}$/,
		}],
		form: {
			max: 6, // 最大输入长度
			disabled: false, //是否禁用
			type: "number", //input 的类型
			value: "", //// 输入框初始内容
			placeholder: "请输入验证码", // 输入框默认输入内容
			isclear: true, //是否显示清空按钮
			password: false, //是否是密码类型
			formtype: "input", //表单类型
			rules: true, //是否必填
		}
	},
	{
		id: "password",
		rules: [{
			msg: "请输入正确格式的密码",
			test: /^[a-zA-Z0-9]{6}$/,
		}],
		form: {
			max: 6, // 最大输入长度
			disabled: false, //是否禁用
			type: "safe-password", //input 的类型
			value: "", //// 输入框初始内容
			placeholder: "请输入密码", // 输入框默认输入内容
			isclear: true, //是否显示清空按钮
			password: true, //是否是密码类型
			formtype: "input", //表单类型
			rules: true, //是否必填
		}
	},
	{
		id: "plate",
		msg: "请输入正确格式的车牌号",
		test: /(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$)/,
	},
	{
		id: "IDCard",
		msg: "请输入正确格式的身份证号",
		test: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
	},
]
// 判断正则，返回提示
function rulesTest(id, value) {
	var obj = rulesList.find(em => em.id === id)
	var msg = ''
	if (value === '') {
		return false
	}
	obj.rules.forEach(em => {
		var type = em.test.test(value)
		if (msg === '' && !type) {
			msg = em.msg
		}
	})

	return msg
}
// 查找符合条件的输入框信息
function findform(id) {
	var obj = rulesList.find(em => em.id === id)
	return JSON.parse(JSON.stringify(obj.form))
}

module.exports = {
	rulesTest, //判断正则
	findform, //查找符合条件的输入框信息
}